\hypertarget{classThread}{}\section{Thread类 参考}
\label{classThread}\index{Thread@{Thread}}


C++11线程封装类,包含更丰富功能  




{\ttfamily \#include $<$thread.\+hpp$>$}

\subsection*{Public 类型}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classThread_a430059e402325caaf1ed185fb520c9d2}\label{classThread_a430059e402325caaf1ed185fb520c9d2}} 
using \hyperlink{classThread_a430059e402325caaf1ed185fb520c9d2}{sptr} = std\+::shared\+\_\+ptr$<$ \hyperlink{classThread}{Thread} $>$
\begin{DoxyCompactList}\small\item\em std\+::shared\+\_\+ptr$<$\+Thread$>$别名 \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public 成员函数}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classThread_a66350772ff3af06962db113658a72ae3}{Thread} (int pro)
\begin{DoxyCompactList}\small\item\em \hyperlink{classThread}{Thread} 构造函数 \end{DoxyCompactList}\item 
\hyperlink{classThread_a038819a1ef7bb4e50ae580d477f1a3b0}{Thread} (const std\+::string \&name=\char`\"{}\char`\"{}, int pro=20)
\begin{DoxyCompactList}\small\item\em \hyperlink{classThread}{Thread} 构造函数 \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Function\+Type $>$ }\\\hyperlink{classThread_a61efca5f0beb62628c515fb7cdef7e08}{Thread} (Function\+Type f, const std\+::string \&name=\char`\"{}\char`\"{}, int pro=20)
\begin{DoxyCompactList}\small\item\em \hyperlink{classThread}{Thread} 构造函数 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_a026b23628e1727050e864e00489c0baf}\label{classThread_a026b23628e1727050e864e00489c0baf}} 
virtual \hyperlink{classThread_a026b23628e1727050e864e00489c0baf}{$\sim$\+Thread} ()
\begin{DoxyCompactList}\small\item\em $\sim$\+Thread 析构函数 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_a3a36451e02a15180624cdd88212cb1ba}\label{classThread_a3a36451e02a15180624cdd88212cb1ba}} 
virtual void \hyperlink{classThread_a3a36451e02a15180624cdd88212cb1ba}{start} () final
\begin{DoxyCompactList}\small\item\em start 开始执行线程,如果构造函数传入了\+Func, 那么重写的run方法不会执行 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_a07b23d8d75300651cba3eb79652c77fd}\label{classThread_a07b23d8d75300651cba3eb79652c77fd}} 
virtual void \hyperlink{classThread_a07b23d8d75300651cba3eb79652c77fd}{join} () final
\begin{DoxyCompactList}\small\item\em join 释放线程资源,如果线程此时是空闲的,那么线程会退出 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_affb34b8590eab79785627ae48cbd297d}\label{classThread_affb34b8590eab79785627ae48cbd297d}} 
virtual void \hyperlink{classThread_affb34b8590eab79785627ae48cbd297d}{detach} () final
\begin{DoxyCompactList}\small\item\em detach 释放线程,如果线程此时是空闲的,那么线程会退出 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_ac09e8b8ff4fb0a97315b5a501e722783}\label{classThread_ac09e8b8ff4fb0a97315b5a501e722783}} 
virtual void \hyperlink{classThread_ac09e8b8ff4fb0a97315b5a501e722783}{yield} () final
\begin{DoxyCompactList}\small\item\em yield 让出时间片 \end{DoxyCompactList}\item 
virtual bool \hyperlink{classThread_a86d1c278c0b9fea63037c437a909064f}{joinable} () const final
\begin{DoxyCompactList}\small\item\em joinable \end{DoxyCompactList}\item 
virtual std\+::thread\+::native\+\_\+handle\+\_\+type \hyperlink{classThread_a554185abbfacbcc4bf2e953cdddcbbba}{self} () final
\begin{DoxyCompactList}\small\item\em self 返回线程底层句柄 \end{DoxyCompactList}\item 
virtual std\+::string \hyperlink{classThread_a19bc237f8a86727a5a4b516122fe20f6}{get\+Name} () const final
\begin{DoxyCompactList}\small\item\em get\+Name 得到线程名称 \end{DoxyCompactList}\item 
virtual void \hyperlink{classThread_ae816904b2a3e248472813e17c2b12a71}{set\+Name} (const std\+::string \&name) final
\begin{DoxyCompactList}\small\item\em set\+Name 设置线程名称 \end{DoxyCompactList}\item 
virtual pid\+\_\+t \hyperlink{classThread_ad7fd4dfa0edff93d118b2edf5ab7be2c}{get\+Pid} () const final
\begin{DoxyCompactList}\small\item\em get\+Current\+Pid 获取\+Linux底层线程id, start之后才有效,-\/1表示线程已经结束 \end{DoxyCompactList}\item 
virtual std\+::chrono\+::steady\+\_\+clock\+::time\+\_\+point \hyperlink{classThread_a23de6830557bdbe18a0baf17db58aec6}{get\+Last\+Active\+Time} () const final
\begin{DoxyCompactList}\small\item\em get\+Last\+Active\+Time 上一次活跃时间 \end{DoxyCompactList}\item 
virtual std\+::thread\+::id \hyperlink{classThread_a231da16ab1825ee982c4aa43f78c1b22}{std\+Id} () final
\begin{DoxyCompactList}\small\item\em std\+Id 获取线程thread\+::id \end{DoxyCompactList}\item 
virtual bool \hyperlink{classThread_acb6c590deecea4778a855459f080060a}{is\+Idle} () const final
\begin{DoxyCompactList}\small\item\em is\+Idle 查看线程是否空闲,使用的是类内部成员变量,与is\+Running不同 \end{DoxyCompactList}\item 
virtual bool \hyperlink{classThread_ab4c718f3ca4aa7514c7e89e38f9da894}{is\+Running} () final
\begin{DoxyCompactList}\small\item\em is\+Running 查看线程是否还在运行,使用pthread\+\_\+kill向线程发信号 \end{DoxyCompactList}\item 
virtual void \hyperlink{classThread_a96661f80f5fbd26042a24eafd675cd91}{set\+Prio} (int prio) final
\begin{DoxyCompactList}\small\item\em set\+Prio 设置优先级 \end{DoxyCompactList}\item 
virtual int \hyperlink{classThread_a712ab58b9e89f458427b213b1197a666}{get\+Prio} () final
\begin{DoxyCompactList}\small\item\em get\+Prio 获取线程优先级 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_a9c8be569889e6acc065a9db76f738952}\label{classThread_a9c8be569889e6acc065a9db76f738952}} 
{\bfseries Thread} (const \hyperlink{classThread}{Thread} \&\&)=delete
\item 
\mbox{\Hypertarget{classThread_ab6968c245fad4970965b3bf9f6027642}\label{classThread_ab6968c245fad4970965b3bf9f6027642}} 
\hyperlink{classThread}{Thread} \& {\bfseries operator=} (const \hyperlink{classThread}{Thread} \&\&)=delete
\item 
\mbox{\Hypertarget{classThread_a71c9b9c8fb2e87eb14279f6233a83143}\label{classThread_a71c9b9c8fb2e87eb14279f6233a83143}} 
{\bfseries Thread} (const \hyperlink{classThread}{Thread} \&)=delete
\item 
\mbox{\Hypertarget{classThread_a832b2ddff787923f27430d95df55c83d}\label{classThread_a832b2ddff787923f27430d95df55c83d}} 
\hyperlink{classThread}{Thread} \& {\bfseries operator=} (const \hyperlink{classThread}{Thread} \&)=delete
\end{DoxyCompactItemize}
\subsection*{Protected 成员函数}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classThread_a7574ff300357f9d3193db03b83937eac}\label{classThread_a7574ff300357f9d3193db03b83937eac}} 
virtual void \hyperlink{classThread_a7574ff300357f9d3193db03b83937eac}{run} ()
\begin{DoxyCompactList}\small\item\em run 重载实现操作 \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected 属性}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classThread_ada8c342b34fb001cfcf57619b7150840}\label{classThread_ada8c342b34fb001cfcf57619b7150840}} 
int \hyperlink{classThread_ada8c342b34fb001cfcf57619b7150840}{prio\+\_\+}
\begin{DoxyCompactList}\small\item\em 线程优先级 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_a0c0878a96696bbb092a69bc2f1f812fd}\label{classThread_a0c0878a96696bbb092a69bc2f1f812fd}} 
pid\+\_\+t \hyperlink{classThread_a0c0878a96696bbb092a69bc2f1f812fd}{current\+Pid\+\_\+} \{-\/1\}
\begin{DoxyCompactList}\small\item\em -\/1表明线程已经执行完任务,unix底层的线程已经不存在了 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_aa222eb32e5fc8f386d9fb018607acd9c}\label{classThread_aa222eb32e5fc8f386d9fb018607acd9c}} 
std\+::string \hyperlink{classThread_aa222eb32e5fc8f386d9fb018607acd9c}{name\+\_\+}
\begin{DoxyCompactList}\small\item\em 线程名前缀 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_ad313ba812a7875c743dd0d37d565acfb}\label{classThread_ad313ba812a7875c743dd0d37d565acfb}} 
std\+::thread \hyperlink{classThread_ad313ba812a7875c743dd0d37d565acfb}{thread\+\_\+}
\begin{DoxyCompactList}\small\item\em 线程 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_a091bdad0a084b3f2c659f8cdd5369d53}\label{classThread_a091bdad0a084b3f2c659f8cdd5369d53}} 
std\+::atomic\+\_\+bool \hyperlink{classThread_a091bdad0a084b3f2c659f8cdd5369d53}{stop\+\_\+} \{true\}
\begin{DoxyCompactList}\small\item\em 线程停止标志 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_a13aa04a60328060dec3a25b286c933a2}\label{classThread_a13aa04a60328060dec3a25b286c933a2}} 
std\+::atomic\+\_\+bool \hyperlink{classThread_a13aa04a60328060dec3a25b286c933a2}{idle\+\_\+} \{true\}
\begin{DoxyCompactList}\small\item\em 线程空闲标志 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_a535df3b8fc4ff9ca48f5a6d561162a36}\label{classThread_a535df3b8fc4ff9ca48f5a6d561162a36}} 
std\+::atomic\+\_\+bool \hyperlink{classThread_a535df3b8fc4ff9ca48f5a6d561162a36}{yield\+\_\+} \{false\}
\begin{DoxyCompactList}\small\item\em 让出时间片标志 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_ae7ed71c6b1f7782ecd4186005fd70760}\label{classThread_ae7ed71c6b1f7782ecd4186005fd70760}} 
std\+::chrono\+::steady\+\_\+clock\+::time\+\_\+point \hyperlink{classThread_ae7ed71c6b1f7782ecd4186005fd70760}{last\+Active\+Time\+\_\+} \{std\+::chrono\+::steady\+\_\+clock\+::now()\}
\begin{DoxyCompactList}\small\item\em 上次活跃时间 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classThread_a4cf09d1f62096dd4aed7a3ee06212b81}\label{classThread_a4cf09d1f62096dd4aed7a3ee06212b81}} 
std\+::unique\+\_\+ptr$<$ \hyperlink{structFunctor__base}{Functor\+\_\+base} $>$ \hyperlink{classThread_a4cf09d1f62096dd4aed7a3ee06212b81}{func\+\_\+uptr\+\_\+}
\begin{DoxyCompactList}\small\item\em 函数封装 \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{详细描述}
C++11线程封装类,包含更丰富功能 

\subsection{构造及析构函数说明}
\mbox{\Hypertarget{classThread_a66350772ff3af06962db113658a72ae3}\label{classThread_a66350772ff3af06962db113658a72ae3}} 
\index{Thread@{Thread}!Thread@{Thread}}
\index{Thread@{Thread}!Thread@{Thread}}
\subsubsection{\texorpdfstring{Thread()}{Thread()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily Thread\+::\+Thread (\begin{DoxyParamCaption}\item[{int}]{pro }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\hyperlink{classThread}{Thread} 构造函数 


\begin{DoxyParams}{参数}
{\em pro} & 优先级 \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classThread_a038819a1ef7bb4e50ae580d477f1a3b0}\label{classThread_a038819a1ef7bb4e50ae580d477f1a3b0}} 
\index{Thread@{Thread}!Thread@{Thread}}
\index{Thread@{Thread}!Thread@{Thread}}
\subsubsection{\texorpdfstring{Thread()}{Thread()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily Thread\+::\+Thread (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{name = {\ttfamily \char`\"{}\char`\"{}},  }\item[{int}]{pro = {\ttfamily 20} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\hyperlink{classThread}{Thread} 构造函数 


\begin{DoxyParams}{参数}
{\em name} & 线程名 \\
\hline
{\em pro} & 优先级 \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classThread_a61efca5f0beb62628c515fb7cdef7e08}\label{classThread_a61efca5f0beb62628c515fb7cdef7e08}} 
\index{Thread@{Thread}!Thread@{Thread}}
\index{Thread@{Thread}!Thread@{Thread}}
\subsubsection{\texorpdfstring{Thread()}{Thread()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$typename Function\+Type $>$ \\
Thread\+::\+Thread (\begin{DoxyParamCaption}\item[{Function\+Type}]{f,  }\item[{const std\+::string \&}]{name = {\ttfamily \char`\"{}\char`\"{}},  }\item[{int}]{pro = {\ttfamily 20} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\hyperlink{classThread}{Thread} 构造函数 


\begin{DoxyParams}{参数}
{\em f} & 要执行的任务 \\
\hline
{\em name} & 线程名 \\
\hline
{\em pro} & 优先级 \\
\hline
\end{DoxyParams}


\subsection{成员函数说明}
\mbox{\Hypertarget{classThread_a23de6830557bdbe18a0baf17db58aec6}\label{classThread_a23de6830557bdbe18a0baf17db58aec6}} 
\index{Thread@{Thread}!get\+Last\+Active\+Time@{get\+Last\+Active\+Time}}
\index{get\+Last\+Active\+Time@{get\+Last\+Active\+Time}!Thread@{Thread}}
\subsubsection{\texorpdfstring{get\+Last\+Active\+Time()}{getLastActiveTime()}}
{\footnotesize\ttfamily virtual std\+::chrono\+::steady\+\_\+clock\+::time\+\_\+point Thread\+::get\+Last\+Active\+Time (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



get\+Last\+Active\+Time 上一次活跃时间 

\begin{DoxyReturn}{返回}
std\+::chrono\+::steady\+\_\+clock\+::time\+\_\+point 上一次活跃时间 
\end{DoxyReturn}
\mbox{\Hypertarget{classThread_a19bc237f8a86727a5a4b516122fe20f6}\label{classThread_a19bc237f8a86727a5a4b516122fe20f6}} 
\index{Thread@{Thread}!get\+Name@{get\+Name}}
\index{get\+Name@{get\+Name}!Thread@{Thread}}
\subsubsection{\texorpdfstring{get\+Name()}{getName()}}
{\footnotesize\ttfamily virtual std\+::string Thread\+::get\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



get\+Name 得到线程名称 

\begin{DoxyReturn}{返回}
std\+::string name线程名称 
\end{DoxyReturn}
\mbox{\Hypertarget{classThread_ad7fd4dfa0edff93d118b2edf5ab7be2c}\label{classThread_ad7fd4dfa0edff93d118b2edf5ab7be2c}} 
\index{Thread@{Thread}!get\+Pid@{get\+Pid}}
\index{get\+Pid@{get\+Pid}!Thread@{Thread}}
\subsubsection{\texorpdfstring{get\+Pid()}{getPid()}}
{\footnotesize\ttfamily virtual pid\+\_\+t Thread\+::get\+Pid (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



get\+Current\+Pid 获取\+Linux底层线程id, start之后才有效,-\/1表示线程已经结束 

\begin{DoxyReturn}{返回}
pid\+\_\+t Linux底层线程id 
\end{DoxyReturn}
\mbox{\Hypertarget{classThread_a712ab58b9e89f458427b213b1197a666}\label{classThread_a712ab58b9e89f458427b213b1197a666}} 
\index{Thread@{Thread}!get\+Prio@{get\+Prio}}
\index{get\+Prio@{get\+Prio}!Thread@{Thread}}
\subsubsection{\texorpdfstring{get\+Prio()}{getPrio()}}
{\footnotesize\ttfamily virtual int Thread\+::get\+Prio (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



get\+Prio 获取线程优先级 

\begin{DoxyReturn}{返回}
prio 优先级 
\end{DoxyReturn}
\mbox{\Hypertarget{classThread_acb6c590deecea4778a855459f080060a}\label{classThread_acb6c590deecea4778a855459f080060a}} 
\index{Thread@{Thread}!is\+Idle@{is\+Idle}}
\index{is\+Idle@{is\+Idle}!Thread@{Thread}}
\subsubsection{\texorpdfstring{is\+Idle()}{isIdle()}}
{\footnotesize\ttfamily virtual bool Thread\+::is\+Idle (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



is\+Idle 查看线程是否空闲,使用的是类内部成员变量,与is\+Running不同 

\begin{DoxyReturn}{返回}
bool true-\/线程空闲 
\end{DoxyReturn}
\mbox{\Hypertarget{classThread_ab4c718f3ca4aa7514c7e89e38f9da894}\label{classThread_ab4c718f3ca4aa7514c7e89e38f9da894}} 
\index{Thread@{Thread}!is\+Running@{is\+Running}}
\index{is\+Running@{is\+Running}!Thread@{Thread}}
\subsubsection{\texorpdfstring{is\+Running()}{isRunning()}}
{\footnotesize\ttfamily virtual bool Thread\+::is\+Running (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



is\+Running 查看线程是否还在运行,使用pthread\+\_\+kill向线程发信号 

\begin{DoxyReturn}{返回}
bool true-\/还在运行 
\end{DoxyReturn}
\mbox{\Hypertarget{classThread_a86d1c278c0b9fea63037c437a909064f}\label{classThread_a86d1c278c0b9fea63037c437a909064f}} 
\index{Thread@{Thread}!joinable@{joinable}}
\index{joinable@{joinable}!Thread@{Thread}}
\subsubsection{\texorpdfstring{joinable()}{joinable()}}
{\footnotesize\ttfamily virtual bool Thread\+::joinable (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



joinable 

\begin{DoxyReturn}{返回}
bool true-\/可以执行join或detach 
\end{DoxyReturn}
\mbox{\Hypertarget{classThread_a554185abbfacbcc4bf2e953cdddcbbba}\label{classThread_a554185abbfacbcc4bf2e953cdddcbbba}} 
\index{Thread@{Thread}!self@{self}}
\index{self@{self}!Thread@{Thread}}
\subsubsection{\texorpdfstring{self()}{self()}}
{\footnotesize\ttfamily virtual std\+::thread\+::native\+\_\+handle\+\_\+type Thread\+::self (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



self 返回线程底层句柄 

\begin{DoxyReturn}{返回}
handler std\+::thread\+::native\+\_\+handle\+\_\+type类型的线程句柄 
\end{DoxyReturn}
\mbox{\Hypertarget{classThread_ae816904b2a3e248472813e17c2b12a71}\label{classThread_ae816904b2a3e248472813e17c2b12a71}} 
\index{Thread@{Thread}!set\+Name@{set\+Name}}
\index{set\+Name@{set\+Name}!Thread@{Thread}}
\subsubsection{\texorpdfstring{set\+Name()}{setName()}}
{\footnotesize\ttfamily virtual void Thread\+::set\+Name (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



set\+Name 设置线程名称 


\begin{DoxyParams}{参数}
{\em name} & 线程名称 \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classThread_a96661f80f5fbd26042a24eafd675cd91}\label{classThread_a96661f80f5fbd26042a24eafd675cd91}} 
\index{Thread@{Thread}!set\+Prio@{set\+Prio}}
\index{set\+Prio@{set\+Prio}!Thread@{Thread}}
\subsubsection{\texorpdfstring{set\+Prio()}{setPrio()}}
{\footnotesize\ttfamily virtual void Thread\+::set\+Prio (\begin{DoxyParamCaption}\item[{int}]{prio }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



set\+Prio 设置优先级 


\begin{DoxyParams}{参数}
{\em prio} & 要设置的优先级 \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classThread_a231da16ab1825ee982c4aa43f78c1b22}\label{classThread_a231da16ab1825ee982c4aa43f78c1b22}} 
\index{Thread@{Thread}!std\+Id@{std\+Id}}
\index{std\+Id@{std\+Id}!Thread@{Thread}}
\subsubsection{\texorpdfstring{std\+Id()}{stdId()}}
{\footnotesize\ttfamily virtual std\+::thread\+::id Thread\+::std\+Id (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



std\+Id 获取线程thread\+::id 

\begin{DoxyReturn}{返回}
std\+::thread\+::id 线程thread\+::id 
\end{DoxyReturn}


该类的文档由以下文件生成\+:\begin{DoxyCompactItemize}
\item 
thread.\+hpp\end{DoxyCompactItemize}
